
package com.hlkj.pay.app.merchant.ext.dto.access;
/*
 * Hlpay-Plus aggregate payment system.
 * Copyright (c) 2024-2025 Hlpay Team Copyright has the right of final interpretation.
 */

import java.util.List;

import com.hlkj.pay.dto.merchant.*;
import com.hlkj.pay.dto.pay.PayCommonAppDto;
import com.hlkj.pay.enums.MerchantEnum;
import com.hlkj.pay.infrastructure.model.merchant.MerchantAccessAuthDO;
import com.hlkj.pay.infrastructure.model.pay.PayChannelRequestDO;
import com.hlkj.pay.infrastructure.model.pay.PayWayDO;
import com.hlkj.pay.vo.order.req.MerchantChannelSplitReq;
import com.hlkj.pay.vo.order.req.MerchantProductReq;

import lombok.Data;

/**
 * @author HlpayTeam
 * @date 2024/09/26 10:21
 */
@Data
public class ChannelMerchantBusinessContext extends ChannelMerchantAccessCommonContext {

    /**
     * 进件主表信息
     */
    private MerchantAccessDto merchantAccessDto;

    /**
     * 费率配置
     */
    private List<ProviderChannelFeeConfigList> merchantFeeConfigList;

    /**
     * 渠道费率
     */
    private List<PayWayDO> payWayList;

    /**
     * 进件状态
     */

    private MerchantEnum.ACCESS_STATUS accessStatus;
    /**
     * 进件状态
     */

    private MerchantEnum.ACCESS_STATUS lastAccessStatus;

    /**
     * 第三方辅助状态
     * 
     * @see com.hlkj.pay.enums.MerchantEnum.CHANNEL_CONFIG_STATUS
     */
    private MerchantEnum.CHANNEL_CONFIG_STATUS auditStatus;

    /**
     * 请求参数
     */
    private PayChannelRequestDO payChannelRequestDO;

    /**
     * app list
     */
    private List<PayCommonAppDto> payCommonAppList;

    /**
     * 初始化微信配置有此列表
     */
    private List<MerchantAccessAuthDO> merchantAccessAuthList;

    /**
     * 后台手动微信配置有此对象
     */
    private MerchantAccessAuthDO merchantAccessAuth;

    /**
     * 手动配置微信dto
     */
    private MerchantWechatConfigDto merchantWechatConfigDto;

    /**
     * 签署链接
     */

    private List<MerchantAccessSignLink> signLinks;

    /*
     * 支付宝
     */
    private MerchantAlipayConfigDto merchantAlipayConfigDto;

    /**
     * 签约上报信息
     */
    private MerchantElectronicContractDto merchantElectronicContractDto;

    /**
     * 异步请求地址
     */
    private String asyncReturnUrl;

    /**
     * 异步请求地址
     */
    private String domain;

    /**
     * 异常请求地址
     */
    private String asyncErrorReturnUrl;

    /**
     * 交易异步通知地址
     */
    private String asyncTransUrl;

    /**
     * 子通道拆分
     */
    private MerchantChannelSplitReq merchantChannelSplitReq;
    /**
     * 子通道拆分
     */
    private MerchantAccessAuthDO merchantAccessAuthDO;

    /**
     * 渠道拓展参数A
     */
    private String extendA;

    /**
     * 渠道拓展参数B
     */
    private String extendB;

    /**
     * 产品信息
     */
    private MerchantProductReq merchantProductReq;

}
